package com.jinyu.dao.entity.sys;

import jakarta.validation.constraints.Pattern;

import java.io.Serial;
import java.io.Serializable;

/**
 * @Author: yangli
 * @Despriction:    字典数据模型
 * @Package: com.jinyu.dao.entity.sys
 * @Date:Created in 2022/5/6 23:01
 * @Modify By:
 */

public class SysDictData implements Serializable {

    @Serial
    private static final long serialVersionUID = 6926631647869674637L;

    /**
     *  字段编码
     */
    private Long id;


    /**
     *  字段排序
     */
    @Pattern(regexp = "^(0|[1-9][0-9]*)$",message = "非零开头的数字")
    private String dictSort;


    /**
     *  字典标签
     */
    @Pattern(regexp = "^(?!_)(?!.*?_$)[0-9a-zA-Z_\\u4e00-\\u9fa5]{1,20}$",message = "字典标签必须是由汉字、英文、数字、下划线组成，且下划线不能在头部或者末尾")
    private String dictLabel;


    /**
     *  字典键值
     */
    @Pattern(regexp = "^(?!_)(?!.*?_$)[0-9a-zA-Z_]{1,20}$",message = "字典键值必须是由英文、数字、下划线组成，且下划线不能在头部或者末尾")
    private String dictValue;


    /**
     *  字典类型
     */
    @Pattern(regexp = "^(?!_)(?!.*?_$)[0-9a-zA-Z_]{1,20}$",message = "字典类型必须是由英文、数字、下划线组成，且下划线不能在头部或者末尾")
    private String dictType;


    /**
     *  样式属性（其他样式扩展）
     */
    private String cssClass;


    /**
     *  状态（0正常 1停用）
     */
    private String status = "0";


    /**
     *  创建者
     */
    private String createUser;


    /**
     *  创建时间
     */
    private String createTime;


    /**
     *  更新者
     */
    private String updateUser;


    /**
     *  更新时间
     */
    private String updateTime;


    /**
     *  备注
     */
    private String remark;

    @Override
    public String toString() {
        return "SysDictData{" +
                "id=" + id +
                ", dictSort=" + dictSort +
                ", dictLabel='" + dictLabel + '\'' +
                ", dictValue='" + dictValue + '\'' +
                ", dictType='" + dictType + '\'' +
                ", cssClass='" + cssClass + '\'' +
                ", status='" + status + '\'' +
                ", createUser='" + createUser + '\'' +
                ", createTime='" + createTime + '\'' +
                ", updateUser='" + updateUser + '\'' +
                ", updateTime='" + updateTime + '\'' +
                ", remark='" + remark + '\'' +
                '}';
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDictSort() {
        return dictSort;
    }

    public void setDictSort(String dictSort) {
        this.dictSort = dictSort;
    }

    public String getDictLabel() {
        return dictLabel;
    }

    public void setDictLabel(String dictLabel) {
        this.dictLabel = dictLabel;
    }

    public String getDictValue() {
        return dictValue;
    }

    public void setDictValue(String dictValue) {
        this.dictValue = dictValue;
    }

    public String getDictType() {
        return dictType;
    }

    public void setDictType(String dictType) {
        this.dictType = dictType;
    }

    public String getCssClass() {
        return cssClass;
    }

    public void setCssClass(String cssClass) {
        this.cssClass = cssClass;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
